<?php
    date_default_timezone_set('UTC');
?>
<div class="well" >
    <div class="row-fluid centrar">
        <h1>Lista de Cotizaciones</h1>
        <input type="hidden" name="id" value=""/>
    </div><br/>
    <div class="contenido contexto">
        <div id="grid"></div>
    </div>
    <br/>      
</div>
<script type="text/x-kendo-template" id="template">
    <div class="toolbar contexto">
        <input type="button" class="k-button" name="btnNew" data-bind="click: new" value="Nuevo"/>
        <input type="button" class="k-button" name="btnEdit" data-bind="click: edit" value="Editar"/>
        <input type="button" class="k-button" name="btnDelete" data-bind="click: delete" value="Eliminar"/>
    </div>
</script>
<script type="text/javascript">
    $(document).ready(function(){
        var dsGrid = new kendo.data.DataSource({
            type: "json",
            transport: {
                read: function (options) {
                    $.ajax({
                        type: "POST",
                        dataType: "json",
                        url: "<?php echo $view->url(array('controller' => 'Cotizador', 'action' => 'getLista')); ?>",
                        success: function (resultado){
                            options.success(resultado);
                        }
                    });
                }
            },
            schema: {
                model: {
                    id: "idCotizacion",
                    fields: {
                            titulo: { type: "string" },
                            cliente: { type: "string" },
                            fecha: { type: "date" },
                            precioFinal: { type: "number" }
                    }
                }
            },
            pageSize: 10
        });
        
        $("#grid").kendoGrid({
            dataSource: dsGrid,
            height: 430,
            scrollable: true,
            filterable: {
                extra: false
            },
            toolbar: kendo.template($("#template").html()),
            pageable: {
                refresh: true,
                pageSizes: true,
                buttonCount: 10
            },
            selectable: "row",
            columns: [
                { field: "titulo", title: "Titulo Cotizacion", width: "200px" },
                { field: "cliente", title: "Cliente", width: "300px" },
                { field: "fecha", title: "Fecha", format: "{0: dd/MM/yyyy}", width: "100px" },
                { field: "precioFinal", title: "Precio Final", width: "100px", format: "{0:c2}", attributes: { class: "derecha" } } 
            ]
        });
        
        
        var viewModel = kendo.observable({
            cotizacionId: 0,
            new: function(){
                this.set("cotizacionId", 0);
                window.open("<?php echo $view->url(array('controller' => 'Cotizador', 'action' => 'cotizacion')).'cotizacion/'; ?>" + this.get("cotizacionId"), "_self");
            },
            edit: function(){
                if (this.select()){
                    window.open("<?php echo $view->url(array('controller' => 'Cotizador', 'action' => 'cotizacion')).'cotizacion/'; ?>" + this.get("cotizacionId"), "_self");
                }
            },
            delete: function(){
                if (this.select()){
                    if (this.select()){
                        if (confirm("Está seguro de eliminar la cotización seleccionada?")){
                            $.ajax({
                                type: "POST",
                                dataType: "json",
                                data: 'idCotizacion='+viewModel.get("cotizacionId"),
                                url: "<?php echo $view->url(array('controller' => 'Cotizador', 'action' => 'deleteCotizacion')); ?>",
                                success: function (json){
                                    if (json.Mensaje != undefined){
                                        alert(json.Mensaje);
                                        $('#grid').data('kendoGrid').dataSource.read();
                                    }else{
                                        alert(gErrorTransaccion);
                                    }
                                },
                                error: function(){
                                    alert(gErrorTransaccion);
                                }
                            });
                        }
                    }
                }
            },
            select: function(){
                var grid = $("#grid").data("kendoGrid");
                if (grid.dataItem(grid.select()) != undefined){
                    this.set("cotizacionId", grid.dataItem(grid.select()).idCotizacion);
                    return true;
                }else{
                    this.set("cotizacionId", 0);
                    alert("Seleccione un item");
                    return false;
                }
            }
        });
        
        kendo.bind($(".contexto"), viewModel);
    });
</script>